package com.yvon.maple.service.auth.valicode.validate.code.repository;


import com.yvon.maple.service.auth.valicode.vo.CodeVo;

/**
 * 校验码存取器
 * @author : Yvon
 * @since 2019/5/26
 */
public interface CodeRepository {

	/**
	 * 保存验证码
	 *
	 * @param code
	 * @param key  关键
	 * @author : Yvon / 2021-08-24
	 */
	void save(CodeVo code);

	/**
	 * 获取验证码
	 *
	 * @param key 关键
	 * @return {@link CodeVo }
	 * @author : Yvon / 2021-08-24
	 */
	CodeVo get(String grantType, String key);


	/**
	 * 移除验证码
	 *
	 * @param key 关键
	 * @author : Yvon / 2021-08-24
	 */
	void remove(String grantType, String key);

}